#include "list.h"
#include <cmath>

const __int64 H=100;

struct HashTab
{

	List a[H];
	
	List_Data *p;
	
	void Add(char t[])
	{

		__int64 k=conv(t);

		p=a[k].Search(t);
		if (p) p->count++;
		else a[k].push_back(t);
	}

	__int64 conv(char l[])
	{
		__int64 k=0;
		for (__int64 i=0; l[i]; i++)
		{
			k+=l[i]*pow(8.0, double(i));
		}
		if (k>=0) return k%H;
		else return (-k)%H;
	}

	__int64 GetCount(char t[])
	{
		List_Data *p = a[conv(t)].Search(t);
		if (p) return p->count;
		else return 0;
	}
};